From 4f4f7d02659cf581b8264e0588b144475660be7f Mon Sep 17 00:00:00 2001 From: "mark@maw48.kings.cam.ac.uk" Date: Sun, 31 Oct 2004 01:41:52 +0000 Subject: [PATCH] bitkeeper revision 1.1159.1.314 (418442e0ulgOgW7-GQoSm-dOij6jwg) Add dmesg clear op. --- BitKeeper/etc/logging_ok | 1 + tools/python/xen/xend/XendClient.py | 8 ++++++-- tools/python/xen/xend/XendDmesg.py | 4 +++- tools/python/xen/xend/server/SrvDmesg.py | 6 ++++++ tools/python/xen/xm/main.py | 9 +++++++-- 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index c3c6bd3ef7..9f847bcf91 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -32,6 +32,7 @@ kaf24@striker.cl.cam.ac.uk laudney@eclipse.(none) lynx@idefix.cl.cam.ac.uk mafetter@fleming.research +mark@maw48.kings.cam.ac.uk maw48@labyrinth.cl.cam.ac.uk mjw@wray-m-3.hpl.hp.com mwilli2@equilibrium.research diff --git a/tools/python/xen/xend/XendClient.py b/tools/python/xen/xend/XendClient.py index 82b2dbde81..8290165412 100644 --- a/tools/python/xen/xend/XendClient.py +++ b/tools/python/xen/xend/XendClient.py @@ -179,8 +179,12 @@ class Xend: return self.xendPost(self.nodeurl(), {'op' : 'reboot'}) - def xend_node_dmesg(self): - return self.xendGet(self.nodeurl('dmesg')) + def xend_node_get_dmesg(self): + return self.xendGet(self.nodeurl('dmesg')) + + def xend_node_clear_dmesg(self): + return self.xendPost(self.nodeurl('dmesg'), + {'op' : 'clear' } ) def xend_node_log(self): return self.xendGet(self.nodeurl('log')) diff --git a/tools/python/xen/xend/XendDmesg.py b/tools/python/xen/xend/XendDmesg.py index 8d070ba45a..6201b721db 100644 --- a/tools/python/xen/xend/XendDmesg.py +++ b/tools/python/xen/xend/XendDmesg.py @@ -12,7 +12,9 @@ class XendDmesg: def info(self): return self.xc.readconsolering() - + + def clear(self): + self.xc.readconsolering(True) def instance(): global inst diff --git a/tools/python/xen/xend/server/SrvDmesg.py b/tools/python/xen/xend/server/SrvDmesg.py index 2e7b538c55..96a392484f 100644 --- a/tools/python/xen/xend/server/SrvDmesg.py +++ b/tools/python/xen/xend/server/SrvDmesg.py @@ -15,6 +15,9 @@ class SrvDmesg(SrvDir): SrvDir.__init__(self) self.xd = XendDmesg.instance() + def render_POST(self, req): + self.perform(req) + def render_GET(self, req): try: if self.use_sxp(req): @@ -32,3 +35,6 @@ class SrvDmesg(SrvDir): def info(self): return self.xd.info() + + def op_clear(self): + self.xd.clear() diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 2d40669e23..0b6e37966f 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -665,7 +665,12 @@ class ProgDmesg(Prog): info = """Print Xen boot output.""" def main(self, args): - print server.xend_node_dmesg() + if len(args) == 1: + print server.xend_node_dmesg(clear) + if len(args) > 1: + if len(args) == 2 and args[1] == '-c': + print server.xend_node_clear_dmesg() + else: self.err("%s: Invalid argument" % args[0]) xm.prog(ProgDmesg) @@ -726,7 +731,7 @@ class ProgVbdCreate(Prog): Create a virtual block device for a domain. UNAME - device to export, e.g. phy:hda2 - DEV - device name in the domain, e.g. xda1 + DEV - device name in the domain, e.g. sda1 MODE - access mode: r for read, w for read-write BACKEND - backend driver domain """ -- 2.30.2